DSSS is a modulation technique in which a bit stream is multiplied by a spreading code to generate a chip stream. The spreading code may be a pseudo-noise or pseudo-random sequence. The chip stream thus generated may also be referred to as the spread signal or the encoded signal. The chip stream may require a larger bandwidth than the original bit stream. However, the spreading technique may provide several advantages. For example, by using different spreading codes, several transmitters may use the same frequency spectrum simultaneously. Furthermore, narrow band interferences may be reduced.
ZigBee is a communication protocol based on DSSS. In ZigBee, a list of different symbols may be defined, each symbol comprising a fixed number of bits. Each symbol may, for example, comprise a sequence of M bits. For example, M=4. Each symbol may be encoded (spread) by first decomposing the respective bit sequence of M bits into an equivalent chip sequence of N chips and then multiplying the value of each chip of that bit sequence by the value of a corresponding chip of the spreading code. For example, N=32. Such multiplication may be defined, for example, as follows: 0*0=1, 0*1=0, 1*0=0 and 1*1=1. 1 and 0 may also be referred to as high and low, respectively.
The chip sequence thus generated, i.e., the spread symbol, may be decoded (de-spread) by applying the same spreading code again, i.e., by multiplying each chip of the spread symbol by a corresponding chip of the spreading sequence (spreading code). For example, a symbol may be encoded by multiplying its chip number I by chip number I of the spreading code, wherein I runs from 1 to N, I=1 corresponding to the first chip and 1=N corresponding to the last chip of the symbol (and of the spreading code). The original chip sequence representing the symbol may thus be reconstructed. It is noted that the receiving device needs to know the correct spreading code in order to be able to decode the received chip stream.
A received encoded chip stream may alternatively be decoded by correlating each newly-arriving chip sequence of length N (i.e., comprising a total of N chips) against a plurality of encoded trial symbols and by selecting as the decoded symbol the specific trial symbol for which the highest correlation number is obtained. The plurality of trial symbols may notably comprise every symbol of the communication protocol. For instance, in a ZigBee system comprising a total of 2M, e.g., 24=16 different symbols, the plurality of trial symbols may comprise these 2M symbols. The symbols may be identified as S0, S1, S2, . . . S_M, respectively; for instance, S0 to S16. For example, in the case of M=4, the S0 symbol and the S16 symbol may be defined as the bit sequences 0000 and 1111, respectively.
Detecting a DSSS encoded signal in a short time interval can be challenging, even if the receiving device knows the correct spreading code. One reason is that the spreading code needs to be aligned to the received chip sequence such that each chip of the received sequence is multiplied by the corresponding chip of the spreading code. However, the most recently received sequence comprising N chips does in general not comprise a single symbol but may comprise chips of two subsequent symbols, namely chips K+1 to N of a first symbol and chips 1 to K of a subsequent second symbol. However, a short detection time may notably be beneficial in an antenna diversity scheme. In the context of this application, antenna diversity is a method of selecting an optimum reception antenna among two or more available antennas.
In this application, a symbol period is the duration of one symbol, that is the inverse of a symbol rate. A bit period is the duration of one bit, that is the inverse of a bit rate. A chip period is the duration of one chip, that is the inverse of a chip rate. Thus, a symbol period may be a multiple of a bit period. A bit period may be a multiple of a chip period.
U.S. Pat. No. 7,729,677 B2 by Saed et al. describes a method of and a device for antennae diversity switching, in which the signal strength of a preamble of a packet received in a first antenna is sampled. If the signal strength is of sufficient magnitude, the associated antenna is selected as a reception antenna.
U.S. Pat. No. 7,599,424 B1 by Feng et al. proposes to determine signal quality values at a plurality of antennas after correlating data packets with corresponding spreading codes.
U.S. Pat. No. 7,899,110 B1 by Zhang and Yang describes a method of performing bit synchronisation in a spread spectrum receiver having a plurality of receive paths. Each receive path includes a correlator and a magnitude calculator. Outputs from the respective magnitude calculators of two or more of the receive paths are combined to form a combined signal. An antenna is chosen on the basis of multiple receiver channels.